import pandas as pd
import os

def read_excel_file(file_path=None, sheet_name=None):
    # 加载配置文件
    if file_path is None or sheet_name is None:
        config_path = os.path.join(os.path.dirname(__file__), "config.json")
        try:
            with open(config_path, 'r', encoding='utf-8') as f:
                config = json.load(f)
            getdata_config = config.get("getdata", {})
            
            # 如果参数为None，则从配置文件中读取
            if file_path is None:
                file_path = getdata_config.get("file_path", "../iES_DB-20251009.xlsx")
            if sheet_name is None:
                sheet_name = getdata_config.get("sheet_name", 0)
        except Exception as e:
            print(f"无法加载配置文件，使用默认值: {e}")
            # 使用默认值
            if file_path is None:
                file_path = "../iES_DB-20251009.xlsx"
            if sheet_name is None:
                sheet_name = 0
    """
    读取Excel文件并返回数据
    
    参数:
        file_path (str): Excel文件路径
        sheet_name (str/int): 工作表名称或索引，默认为第一个工作表
    
    返回:
        DataFrame: 包含Excel数据的DataFrame对象
    """
    try:
        # 读取Excel文件
        df = pd.read_excel(file_path, sheet_name=sheet_name)
        print(f"成功读取文件: {file_path}")
        print(f"数据形状: {df.shape}")  # 显示行数和列数
        
        # 显示前几行数据
        # print("\n前5行数据:")
        # print(df.head())
        
        # 显示列名
        # print("\n列名:")
        # print(df.columns.tolist())
        
        return df
    except FileNotFoundError:
        print(f"错误: 文件 {file_path} 未找到")
        return None
    except Exception as e:
        print(f"读取文件时出错: {e}")
        return None

# 使用示例
if __name__ == "__main__":
    # 从配置文件读取（不需要显式设置，函数内部已处理）
    
    # 读取Excel文件
    data = read_excel_file(file_path)